const { get,post } = require("../../utils/request");
const dateUtil = require('../../utils/dateUtil');
// 引入SDK核心类
var QQMapWX = require('../../utils/qqmap-wx-jssdk');
// 实例化API核心类
var qqmapsdk = new QQMapWX({
  key: 'KFTBZ-ZKO3M-VU36W-6HGB3-WYFKK-56FHP' // 必填，填自己在腾讯位置服务申请的key
});
// index.js
Page({
  data: {
    carouselImages: [
      '/images/car1.jpg',
      '/images/car1.jpg',
      '/images/car1.jpg'
    ],
    name: '',
    gender: '',
    store: '',
    storeID: '',
    carModel: '',
    carModelID: '',
    phone: '',
    agreementChecked: false
  },
  onLoad: function() {
    debugger
    // 先获取用户的微信ID
    wx.login({
      success: res => {
        //debugger
        if (res.code) { // 获取微信code,换取openid
          get('/system/wechat/'+res.code, {}).then(res => {
           // debugger
            if (res.data.code === 200) {
              const openid = res.data.msg;
              wx.setStorageSync("openid", openid)
            }
          }).catch(err => {
            console.error(err);
          });
        }  
      } 
    })
  },
  // 页面显示时触发（每次返回页面 A 都会执行）
  refreshData() {
    debugger
    console.info("aaaaaaaaa")
    // 读取门店
    const selectedStore = wx.getStorageSync('selectedStore');
    console.info("aaaaaaaaa", selectedStore)
    if (selectedStore) {
      this.setData({
        store: selectedStore.fullName
      });
      this.setData({
        storeID: selectedStore.id
      });
      // 可选：读取后清除存储（避免下次进入页面时仍有旧数据）
      wx.removeStorageSync('selectedStore');
    }
    // 读取车型
    const selectedCarModel = wx.getStorageSync('selectedCarModel');
    if (selectedCarModel) {
      this.setData({
        carModel: selectedCarModel.carName
      });
      this.setData({
        carModelID: selectedCarModel.id
      });
      // 可选：读取后清除存储（避免下次进入页面时仍有旧数据）
      wx.removeStorageSync('selectedCarModel');
    }
  },
  onNameInput(e) {
    this.setData({
      name: e.detail.value
    });
  },

  onGenderSelect(e) {
    const gender = e.currentTarget.dataset.gender;
    this.setData({
      gender: gender
    });
  },
  onsurvey() {
    // 这里可以调用选择门店的逻辑，比如弹出选择器或跳转到选择门店页面
    wx.navigateTo({
      url: '/pages/survey/surveyHome'
    });
  },
  yyjl_btn(){
    /*  get('/system/record/lastRecord?wxId='+wx.getStorageSync("openid"), {}).then(res => {
       if (res.data.code === 200 && res.data.data) {
         wx.navigateTo({
           url: '/pages/appointment-success/appointment-success?name='+res.data.data.name+'&storeName='+res.data.data.storeName+'&carName='+res.data.data.carName+'&phone='+res.data.data.phone+'&submitTime='+res.data.data.createTime
         });
       } else {
         wx.showToast({
           title: '暂无预约记录',
           icon: 'none'
         });
       }
     }).catch(err => {
       wx.showToast({
         title: '暂无预约记录',
         icon: 'none'
       });
     }); */
     wx.navigateTo({
       url: '/pages/appointment-list/appointment-list'
     });
  },
  getAddress(latitude, longitude) {
    return new Promise((resolve, reject) => {
      qqmapsdk.reverseGeocoder({
        location: {
          latitude: latitude,
          longitude: longitude
        },
        success: function (res) {
          resolve(res.result);
        },
        fail: function (err) {
          reject(err);
        }
      });
    });
  },
  onStoreSelect() {
    // 获取地址信息
    const _this = this
    wx.getFuzzyLocation({
      type: 'wgs84', // 返回GPS坐标
      success(res) {
        debugger
        const latitude = res.latitude;
        console.log(latitude)
        const longitude = res.longitude;
        console.log(longitude)
        // _this.getAddress(latitude, longitude).then(res => {
        //    console.log('位置信息：', res);
        //    wx.navigateTo({
        //      url: '/pages/select-store/select-store?province='+res.address_component.province
        //      +'&city='+res.address_component.city
        //      +'&district='+res.address_component.district
        //      +'&latitude='+latitude
        //      +'&longitude='+longitude
        //    });
        //  }).catch(err => {
        //    console.error(err);
        //  });
         // 调用逆地址解析
        wx.chooseLocation({
          latitude,
          longitude,
          success(res) {
            console.log('当前城市：', res.address); // 包含省市区信息
            // 这里可以调用选择门店的逻辑，比如弹出选择器或跳转到选择门店页面
            if(res.address){
              wx.navigateTo({
                url: '/pages/select-store/select-store?address='+res.address
                +'&latitude='+latitude
                +'&longitude='+longitude
              });
            } else {
              wx.showToast({
                title: '请先选择位置',
                icon: 'none'
              });
            }
          }
        }); 
      },
      fail(err) {
        console.error('获取位置失败', err);
        wx.navigateTo({
          url: '/pages/select-store/select-store?address='
        });
      }
    });
  },

  onCarModelSelect() {
    debugger
    if(this.data.storeID){
      // 这里可以调用选择车型的逻辑，比如弹出选择器或跳转到选择车型页面
      wx.navigateTo({
        url: '/pages/select-car-model/select-car-model?storeID='+this.data.storeID
      });
    } else {
      wx.showToast({
        title: '请先选择门店',
        icon: 'none'
      });
      return;
    }
  },

  onPhoneInput(e) {
    this.setData({
      phone: e.detail.value
    });
  },

  onAgreementTap() {
    this.setData({
      agreementChecked: !this.data.agreementChecked
    });
  },

  onSubmit() {
      // 这里可以添加表单验证和提交逻辑
      if (!this.data.name) {
        wx.showToast({
          title: '请输入姓名',
          icon: 'none'
        });
        return;
      }
      
      if (!this.data.gender) {
        wx.showToast({
          title: '请选择性别',
          icon: 'none'
        });
        return;
      }
      
      if (!this.data.store) {
        wx.showToast({
          title: '请选择门店',
          icon: 'none'
        });
        return;
      }
      
      if (!this.data.carModel) {
        wx.showToast({
          title: '请选择车型',
          icon: 'none'
        });
        return;
      }
      
      if (!this.data.phone || !/^1\d{10}$/.test(this.data.phone)) {
        wx.showToast({
          title: '请输入正确的手机号',
          icon: 'none'
        });
        return;
      }
      
      if (!this.data.agreementChecked) {
        wx.showToast({
          title: '请阅读并同意相关协议',
          icon: 'none'
        });
        return;
      }
      const _this = this
      wx.showModal({
        title: '提示',
        content: '是否确定预约？',
        confirmText: '确定',
        cancelText: '取消',
        success(res) {
          if (res.confirm) {
            // 表单验证通过，这里可以提交数据到服务器
            post('/system/record/add', {        // 发送给服务器的数据
              name: _this.data.name,
              gender: _this.data.gender,
              storeId: _this.data.storeID,
              storeName: _this.data.store,
              carId: _this.data.carModelID,
              carName: _this.data.carModel,
              phone: _this.data.phone,
              wxId: wx.getStorageSync('openid')
            }).then(res => {
              if (res.data.code === 200) {
                wx.showToast({
                  title: '预约成功',
                  icon: 'success'
                });
                wx.navigateTo({
                  url: '/pages/appointment-success/appointment-success?name='+_this.data.name+'&storeName='+_this.data.store+'&carName='+_this.data.carModel+'&phone='+_this.data.phone+'&submitTime='+dateUtil.formatTime()
                });
              }
            }).catch(err => {
              console.error(err);
            });
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
      
      
  }
  
})
